
package CCT220_Aula06_Exercício01_13106;

/**
 * @author marcel
 * 
 */
public class Carro extends Veiculo {

	private boolean      portaMalas;
	private final String estilo;


	/**
	 * Construtor
	 * 
	 * @param marca
	 * @param cor
	 * @param motorLigado
	 * @param estilo
	 * @param portaMalas
	 */
	public Carro(String marca, String cor, boolean motorLigado, String estilo,
	        boolean portaMalas) {

		super(marca, cor, motorLigado);
		this.estilo = estilo;
		this.portaMalas = portaMalas;
	}


	/**
	 * Metodo que enche o porta malas do veiculo
	 * se este estiver vazio.
	 */
	protected void enchePortaMalas() {

		if (portaMalas) {
			System.out.println("O porta malas ja esta cheio!");
		} else {
			portaMalas = !portaMalas;
			System.out.println("O porta malas acaba de ser enchido!");
		}
	}


	/**
	 * Metodo que enche o portamalas se este
	 * estiver cheio
	 */
	protected void esvaziaPortaMalas() {

		if (!portaMalas) {
			System.out.println("O portamalas ja esta vazio!");
		} else {
			portaMalas = !portaMalas;
			System.out.println("O porta malas acaba de ser esvaziado!");
		}
	}


	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * CCT220_Aula06_Exercício01_13106.Veiculo
	 * #mostraAtributos()
	 */
	@Override
	public String mostraAtributos() {

		String[] str = super.mostraAtributos().split("Veiculo");

		return "Carro " + estilo + str[1] + " e com o porta malas "
		        + (portaMalas ? "cheio" : "vazio");

	}

}
